import Vue from 'vue'
import Vuex from 'vuex'
import getters from './getters'
import app from './modules/app'
import settings from './modules/settings'
import user from './modules/user'

Vue.use(Vuex)

// //  require.context('指定需要导入文件的路径'，'是否递归获取','正则匹配需要加载的文件类型')
// const req = require.context('./modules', false, /\.js$/)

// // 获取文件名，返回的是数组
// const mName = req.keys().map(item => item.split('./')[1]).map(item => item.split('.js')[0])

// // 获取模块对象，返回的是数组
// const mModule = req.keys().map(item => req(item))
// const obj = {}
// // 遍历模块对象，获取文件名作为key,值是对应的模块对象，拼接成key:value的对象
// mName.forEach((item, index) => {
//   obj[item] = mModule[index].default
// })

// 总仓库
const store = new Vuex.Store({
  // 在modules中使用obj进行批量注册
  modules: {
    app,
    settings,
    user
  },
  getters
})

export default store
